/*
*   Fichier :		FPGA.h
*	Auteurs :		P12
*   Date :			2013-04-03
*   Version :		vSuivieProjet
*	Description :	Classe representant un FPGA
*/

#ifndef FPGA_H
#define FPGA_H

#include "CommunicationFPGA.h"

class FPGA {
public:
	FPGA();
	void reset();

	// Getters
	const int getEtatSW();
	const int getEtatLD();
	const int getEtatBTN();
	const int getEtatAN0();
	const int getEtatAN1();
	const int getEtatAN2();
	const int getEtatAN3();

	// Setters
	void setEtatLD(int newEtat);
	void setEtatAN0(int newEtat);
	void setEtatAN1(int newEtat);
	void setEtatAN2(int newEtat);
	void setEtatAN3(int newEtat);

	bool lireSW();
	bool lireBTN();
	bool lireLD();
	bool ecrireLD();
	bool ecrireAN0();
	bool ecrireAN1();
	bool ecrireAN2();
	bool ecrireAN3();
	bool estOk();
	void messageErreur(string messageAdditionnel);

private:
	CommunicationFPGA commFPGA;
	int etatSW;
	int etatLD;
	int etatBTN;
	int etatAN0;
	int etatAN1;
	int etatAN2;
	int etatAN3;
};

#endif